package com.yc.cinema.aop;

public class 动态代理 {

    public static void main(String[] args) {
//        人 a = new 房东();
//        人 b = JDKProxy.proxy(a);
//        b.say();
//        人 b1 = CGLIBProxy.proxy(a);
//        b1.say();

        房东 a = new 房东();
        人 b = a;
        房东 c = a;
        //中介 d = a;



    }
}

/**
 * JDK动态代理: 基于接口实现
 * CGLIB动态代理: 基于继承实现 => 动态字节码技术
 *               限制: final 修饰的类和方法不能被代理
 */

class 中介1 extends 房东{
    @Override
    public void say() {
        System.out.println("xxxxx,xxxxx");
        super.say();
        System.out.println("xxxxx,xxxxx");

    }
}